#include <iostream>
using namespace std;
#define N 5

int print(int arr[],int len)
{ 
    cout<<"排序后的数组"<<" [";
    for(int i=0;i<len;i++){
        cout<<arr[i]<<" ";
    }
    cout<<"]"<<endl;
}

int bubblesort(int arr[],int len)
{
    int i ,j,temp;
    for (i=0;i<len-1;i++){
        for (j=0;j<len-i-1;j++){
            if(arr[j]>arr[j+1]){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }

    print(arr,len);
    //return *p；
}

int selectionsort(int arr[],int len)
{
    int i ,j,temp,min;
    for (i=0;i<len-1;i++){
        min=i;
        for (j=i+1;j<len;j++){
            if(arr[j]<arr[min]){
                min=j;
            }
        }
        if(min!=i){
            temp=arr[min];
            arr[min]=arr[i];
            arr[i]=temp;            
        }

    }

    print(arr,len);
    //return *p；
}

int insertionsort(int arr[],int len)
{
    int i ,j,temp;
    for (i=1;i<len;i++){
        temp = arr[i];
        j=i;
        while(j>0 && arr[j-1]>temp){
            arr[j]=arr[j-1];
            j--;
        }
        arr[j]=temp;
         
        
    }

    print(arr,len);
    //return *p；
}
int main(){
    int len;
    cout<<"输入数组长度"<<endl;
    cin>>len;
    int arr[len];
    for (int i=0;i<len;i++){
        cout<<"输入第"<<i+1<<"个数"<<endl;
        cin>>arr[i];

    }
    cout<<"选择"<<"";
    selectionsort(arr,len);
    cout<<"冒泡"<<"";
    bubblesort(arr,len); 
    cout<<"插入"<<"";
    insertionsort(arr,len);       
}